const express = require('express')
const path = require('path')
let app = express()
app.listen(3000, () => {
    console.log('3000ok');
})


const con = require("./tools/db")



app.get("/address", (req, res) => {

    con.query(`select *  from country where country="中国"`, (err, results) => {
        let [{ id }] = results


        con.query(`select *  from province  where pid=${id} `, (err1, results1) => {

            // console.log(results1);
            // 渲染页面，把请求过来的数据渲染下拉框
            // 然后点击事件触发 ，会传递一个北京
            let { id } = results1.find(value => value.province == "北京市")


            con.query(`select *  from  city  where pid=${id}`, (err2, results2) => {

                let { id } = results2.find(value => value.city == "朝阳区")

                con.query(`select *  from  address  where pid=${id}`, (err3, results3) => {

                    let obj = results3.find(value => value.address == "五方桥基地")

                })

            })
            res.send("ok")
        })
    })
})


/* 
    有的业务必须使用异步去执行（回调函数的执行：操作做数据库，ajax请求，读取文件）
    // 因为在回调函数内部才能拿到结果
    但是回调函数嵌套的方法不符合我们的开发习惯
    // 目的：所以我们希望把原本异步才能实现的程序 ，想办法转换成同步的形式
    // 关键点：让回调函数的结果在外部也可以获取到（回调函数接收结果的形式==》返回值得形式接收结果）

*/


/* 
异步回调的形式
fs.readFile(路径1,(err,results)=>{
    fs.writeFile(路径2，(err,results)=>{
    })
})


// 同步的形式
// 第一步
let data=fs.readFileSync(路径1)
// 第二步
fs.writeFileSync(路径2,data)

 */
